package trabalho.das.fxml.views.controladores;

import entidades.Cor;
import entidades.Decorador;
import entidades.Rectangulo;
import entidades.Telha;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class ControladorInspecaoTelha implements Initializable {
    
    @FXML
    private Label posicao;
    
    @FXML
    private Label altura;
    
    @FXML
    private Label largura;
    
    @FXML
    private Label desenho;
    
    @FXML
    private Label tipo;
    
    @FXML
    private Label familia;
    
    @FXML
    private Label estilo;
    
    @FXML
    private Rectangle linha;
    
    @FXML
    private Rectangle texto;
    
    @FXML
    private Label textura;
    
    private final Telha telha;

    public ControladorInspecaoTelha(Telha telha) {
        this.telha = telha;
    }
    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        Rectangulo rectangulo = telha.getRectangulo();
        
        posicao.setText(rectangulo.getOrigem().toString());
        altura.setText(rectangulo.getAltura() + "");
        largura.setText(rectangulo.getLargura() + "");
        desenho.setText(telha.getDesenho().getCaminhoDoFicheiro());
        tipo.setText(telha.getTipoDeTelha().getNome());
        familia.setText(telha.getFamilia().getNome());
        estilo.setText(telha.getNomeDoEstilo());
        
        {
            Cor l = telha.getCorDaLinha();
            Color c = new Color(l.getRed(), l.getGreen(), l.getBlue(), l.getOpacity());
            linha.setStroke(c);
            linha.setFill(c);
        }
        
        {
            Cor l = telha.getCorDoTexto();
            Color c = new Color(l.getRed(), l.getGreen(), l.getBlue(), l.getOpacity());
            texto.setStroke(c);
            texto.setFill(c);
        }
        
        textura.setText(telha.getFundo().getCaminhoDoFicheiro());
        
    }
    
    @FXML
    private void onTerminarPressionado(ActionEvent event) {
        ((Stage) textura.getScene().getWindow()).close();
    }
}
